package com.xju.subjectsystem.service;

import com.xju.subjectsystem.pojo.Books;
import com.xju.subjectsystem.pojo.Course;
import com.xju.subjectsystem.pojo.PageResult;

import java.util.List;
import java.util.Map;

/**
 * -*- coding:utf-8 -*-
 *
 * @projectName: Subjectsystem
 * @package: com.xju.subjectsystem.service
 * @className: CourseService
 * @author: 15171
 * @description: TODO : 
 * @date: 2024-12-08 22:46
 */
public interface CourseService {
    /**
     * @methodName: showAllCourse
     * @package: com.xju.subjectsystem.service
     * @description: TODO : 课程展示
     * @author: 15171
     * @date: 2024-12-08 22:47
     * @param: null
     * @return: Course
     */
    List<Course> showAllCourse();
    /**
     * @methodName: selectByDepart
     * @package: com.xju.subjectsystem.service
     * @description: TODO : 根据学院分页查询
     * @author: 15171
     * @date: 2024-12-09 1:15
     * @param: page 页码
     * @param: pageSize 每页记录数
     * @param: depart 学院名
     * @return: PageResult<Course>
     */
    PageResult<Course> selectByDepart(Integer page, Integer pageSize, String depart);
    /**
     * @methodName: selectByName
     * @package: com.xju.subjectsystem.service
     * @description: TODO : 根据课程名分页查询
     * @author: 15171
     * @date: 2024-12-09 1:59
     * @param: page 页码
     * @param: pageSize 每页记录数
     * @param: cname 模糊课程名
     * @return: PageResult<Course>
     */

    PageResult<Course> selectByName(Integer page, Integer pageSize, String cname);

    /**
     * @methodName:
     * @package: com.xju.subject system.service
     * @description: TODO : 批量添加课程
     * @author: 72929
     * @date: 2024-12-07 01:38
     * @param: null
     */
    Map<String, List<String>> batchAddCourses(List<Course> courseList);


    void add(Course course);


    /**
     * @methodName:
     * @package: com.xju.subject system.service
     * @description: TODO : 删除一门课程
     * @author: 72929
     * @date: 2024-12-07 01:38
     * @param: null
     */
    void delete(Course course);

    /**
     * @methodName:
     * @package: com.xju.subject system.service
     * @description: TODO : 修改一门课程
     * @author: 72929
     * @date: 2024-12-07 01:38
     * @param: null
     */

    void update(Course course);

    static boolean cnoIsExist(String cno){
        return false;
    };
}
